package com.note.app.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 搜索结果DTO
 */
@Data
@Schema(description = "搜索结果")
public class SearchResultDTO {

    /**
     * 笔记ID
     */
    @Schema(description = "笔记ID", example = "1")
    private Long noteId;
    
    /**
     * 用户ID
     */
    @Schema(description = "用户ID", example = "1")
    private Long userId;
    
    /**
     * 集合ID
     */
    @Schema(description = "集合ID", example = "1")
    private Long collectionId;
    
    /**
     * 笔记标题
     */
    @Schema(description = "笔记标题", example = "Spring Boot入门")
    private String title;
    
    /**
     * 内容摘要
     */
    @Schema(description = "内容摘要", example = "这是关于Spring Boot的入门教程...")
    private String contentSummary;
    
    /**
     * 标签列表
     */
    @Schema(description = "标签列表")
    private List<String> tags;
    
    /**
     * 是否公开笔记
     */
    @Schema(description = "是否公开笔记", example = "false")
    private Boolean isPublic;
    
    /**
     * 创建时间
     */
    @Column(name = "created_at")
    @Schema(description = "创建时间")
    private LocalDateTime createdAt;
    
    /**
     * 更新时间
     */
    @Column(name = "updated_at")
    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;
} 